home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1996 June / macformat-038.iso / Demos / Interactive Wave / _DATAS / SHARED.Dxr / 00989_Gestion des FIO.ls < prev    next >
Encoding:
Text File  |  1995-08-06  |  2.3 KB  |  105 lines

  1. on LoadFichier NomFichier, CastDest, type
  2.   set NomFichier to MakeSeparator(NomFichier)
  3.   if type <> "TEXT" then
  4.     set AccuCast to the number of cast CastDest
  5.     set the fileName of cast AccuCast to NomFichier
  6.     return NomFichier
  7.   end if
  8.   set fileObj to FileIO(mnew, "read", NomFichier)
  9.   if fileObj = -43 then
  10.     beep(2)
  11.     fileObj(mdispose)
  12.     exit
  13.   end if
  14.   set AccuA to fileObj(mReadFile)
  15.   fileObj(mdispose)
  16.   if CastDest <> "#" then
  17.     set the text of cast CastDest to AccuA
  18.   end if
  19.   return AccuA
  20. end
  21.  
  22. on SetCheminDisk
  23.   global CheminDisk
  24.   set AccuA to the pathName
  25.   set AccuC to offset("_DATAS", AccuA)
  26.   if AccuC = 0 then
  27.     exit
  28.   end if
  29.   set CheminDisk to chars(AccuA, 1, AccuC + 5)
  30.   return CheminDisk
  31. end
  32.  
  33. on RemplDiese NomFichier
  34.   repeat with AccuA = 1 to 200
  35.     set AccuB to offset("#", NomFichier)
  36.     if AccuB = 0 then
  37.       exit repeat
  38.       next repeat
  39.     end if
  40.     put " " into char AccuB of NomFichier
  41.   end repeat
  42.   return NomFichier
  43. end
  44.  
  45. on MakeNomPropre NomFichier
  46.   global TypeSeparator
  47.   if NomFichier = 0 then
  48.     return NomFichier
  49.   end if
  50.   set AccuB to length(NomFichier)
  51.   if offset(".", NomFichier) = 0 then
  52.     set AccuC to 7
  53.   else
  54.     set AccuC to 11
  55.   end if
  56.   if AccuB < (AccuC + 1) then
  57.     set AccuC to AccuB - 1
  58.   end if
  59.   set NomFichier to chars(NomFichier, AccuB - AccuC, AccuB)
  60.   set AccuA to offset(TypeSeparator, NomFichier)
  61.   if AccuA <> 0 then
  62.     set NomFichier to chars(NomFichier, AccuA + 1, length(NomFichier))
  63.   end if
  64.   return NomFichier
  65. end
  66.  
  67. on MakeSeparator NomFichier
  68.   if (the machineType <> 256) or (stringp(NomFichier) = 0) then
  69.     return NomFichier
  70.   end if
  71.   if char 1 of NomFichier = ":" then
  72.     set AccuD to EMPTY
  73.   else
  74.     set AccuD to chars(NomFichier, 1, 2)
  75.     set NomFichier to chars(NomFichier, 3, length(NomFichier))
  76.   end if
  77.   repeat with AccuA = 1 to 12
  78.     set AccuB to offset(":", NomFichier)
  79.     if AccuB = 0 then
  80.       exit repeat
  81.       next repeat
  82.     end if
  83.     put "\" into char AccuB of NomFichier
  84.   end repeat
  85.   set NomFichier to AccuD & NomFichier
  86.   return NomFichier
  87. end
  88.  
  89. on Format00 Chiffre
  90.   set AccuA to string(Chiffre)
  91.   if length(AccuA) = 1 then
  92.     set AccuA to "0" & AccuA
  93.   end if
  94.   return AccuA
  95. end
  96.  
  97. on FormatNom00 NomFich, Chiffre
  98.   set AccuA to string(Chiffre)
  99.   if length(AccuA) = 1 then
  100.     set AccuA to "0" & AccuA
  101.   end if
  102.   set AccuA to NomFich & AccuA
  103.   return AccuA
  104. end
  105.